/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.siagefi.service;



import br.siagefi.dao.DAO;
import br.siagefi.model.ContaBancaria;
import br.siagefi.model.Lancamento;
import java.util.Date;
import java.util.List;

/**
 *
 * @author NOTE
 */
public class LancamentoService {
    private final DAO<Lancamento> dao;

    public LancamentoService() {
        this.dao = new DAO<>(Lancamento.class);
    }
    
    public void inserir(Lancamento lancamento){
        dao.adiciona(lancamento);
    }
    
    public void alterar(Lancamento lancamento){
        dao.atualiza(lancamento);
    }
    
    public List<Lancamento> listar(){
        return dao.listaTodos();
    }
    
    public void remover(Lancamento lancamento){
        dao.remove(lancamento);
    }
    
    public boolean jaExiste(Lancamento lancamento) {
        List<Lancamento> lista = this.listar();
        for (Lancamento l : lista) 
            if(l.equals(lancamento))
                return true;
        return false;
    }

    public List<Lancamento> listar(ContaBancaria conta, Date dataInicio, Date dataFim) {
        return dao.consultar("Lancamento.buscaFluxoCaixa", conta, dataInicio, dataFim);
    }
}
